package com.jsmile.cloud.tradecenter.api.constants;

/**
 * 权限常量
 *
 * @author 龚亮
 */
public interface TradeConstants extends java.io.Serializable {

    /**
     * 服务名
     */
    String APPLICATION_NAME = "tradecenter";

    public static class SNOWFLAKE {
        public static final long workerId = 1L;
        public static final long datacenterId = 7L;
    }

    public static class TradeMq implements TradeConstants {
        /**
         * 订单状态变化交换机(通知msg，goods，account，promotion)
         */

        public static final String MSG_ORDER_STATUS_SYNC_EXCHANGE = "msg_order_status_sync_exchange";
        public static final String MSG_ORDER_STATUS_SYNC_QUEUE = "msg_order_status_sync_queue";
        public static final String MSG_ORDER_STATUS_SYNC_ROUTE = "msg_order_status_sync_route";

        public static final String GOODS_ORDER_STATUS_SYNC_EXCHANGE = "goods_order_status_sync_exchange";
        public static final String GOODS_ORDER_STATUS_SYNC_QUEUE = "goods_order_status_sync_queue";
        public static final String GOODS_ORDER_STATUS_SYNC_ROUTE = "goods_order_status_sync_route";

        public static final String PROMOTION_ORDER_STATUS_SYNC_EXCHANGE = "promotion_order_status_sync_exchange";
        public static final String PROMOTION_ORDER_STATUS_SYNC_QUEUE = "promotion_order_status_sync_queue";
        public static final String PROMOTION_ORDER_STATUS_SYNC_ROUTE = "promotion_order_status_sync_route";

        public static final String ACCOUNT_ORDER_STATUS_SYNC_EXCHANGE = "account_order_status_sync_exchange";
        public static final String ACCOUNT_ORDER_STATUS_SYNC_QUEUE = "account_order_status_sync_queue";
        public static final String ACCOUNT_ORDER_STATUS_SYNC_ROUTE = "account_order_status_sync_route";

        /**
         * 订单超时未付款（mq延时队列）
         */
        public static final String ORDER_OVERTIME_QUEUE = "order_overtime_queue";
        public static final String ORDER_OVERTIME_EXCHANGE = "order_overtime_exchange";
        public static final String ORDER_OVERTIME_ROUTE = "order_overtime_route";

        public static final String ORDER_OVERTIME_TTL_QUEUE = "order_overtime_ttl_queue";
        public static final String ORDER_OVERTIME_TTL_EXCHANGE = "order_overtime_ttl_exchange";
        public static final String ORDER_OVERTIME_TTL_ROUTE = "order_overtime_ttl_route";
    }
}
